国民软件 QQ 迈出了历史性的一步!
The following article is from 编程技术宇宙 Author 轩辕之风
说到QQ,你会想起什么?
是那标志性的“咳咳”上线声,还是“唧唧唧唧”的新消息通知声,还是天天挂机升等级?
在我们90后的青春里,一定少不了国民软件QQ,而不知道从什么时候起,我们打开QQ的次数越来越少,而最近我有幸体验了一把新版公测的QQ,发现了很多惊喜,这绝对是一次重磅更新!
首先来看一下安装包,在安装大小方面,新版QQ比起原来的版本,安装包足足减少了60MB!
安装完成之后,就是登录,这是以前的登录界面:
这是新版QQ的登录界面:
记忆中的QQ主界面它是这样的:
以往我们通过QQ聊天,需要双击联系人,开启一个独立的聊天窗口,当与多个人同时聊天时,需要在多个窗口之间来回切换,非常不便。
而现在,它变成了这样:
这一次,QQ采用了全新的三栏式设计,和微信、钉钉等软件一样,在一个窗口搞定,不用再切来切去,更符合当下我们在电脑上聊天沟通的习惯。
不仅如此,新版的QQ整体设计更加简洁,去除了传统界面上琳琅满目的功能按钮,整体给人年轻、轻便的感觉。
单是界面的改动还不足以称之为重磅更新,最重要的是,这一次,QQ采用了全新的技术架构!
NTQQ!
说到这个NT,熟悉Windows的同学应该不会陌生,微软当年搞Windows时,为了和早期的Windows版本相区分,就提出了一个Windows NT的内核,NT意思就是New Technology,这一次腾讯使用了这个名字,足以看出这不是一次普通的版本更新,更是一次技术架构的自我革命。
大家知道,一直以来,QQ是一款native应用,最大的问题是没法跨平台。在Windows上,一早是用MFC,后来有了DirectUI、WPF等开发技术,但这些东西只能用于Windows平台。在Linux和Mac上,又得使用其他的技术,比如Qt。光是开发团队,就得为三个平台各组建一套,人力成本高不说,软件的更新迭代还很难在所有平台上保持相同的节奏。
而现在,QQ使用了全新的技术架构:Electron!这些问题都将成为历史。
Electron是一种基于Node.js和Chromium构建的开源框架,可以帮助开发者使用Web技术(如HTML、CSS和JavaScript)构建跨平台桌面应用程序。相比于传统的本地应用程序开发,Electron有以下优势:
跨平台:Electron可以在Windows、macOS和Linux等多个平台上运行,因此可以更快速地开发出跨平台的应用程序,而无需为每个平台编写单独的代码。
开发效率高:Electron使用Web技术,开发者可以使用常用的Web开发工具和框架,如React、Angular、Vue等,因此可以快速开发出具有现代化界面和良好交互体验的应用程序。
更新方便:使用Electron开发的应用程序可以轻松进行更新,开发者只需将更新后的代码上传至服务器即可,用户启动应用程序时会自动下载最新版本。
生态系统完善:Electron拥有一个强大的生态系统,提供了大量的扩展和插件,可以方便地实现各种功能,如自动更新、错误报告、调试工具等。
界面优美:Electron可以使用Web技术创建漂亮、响应式的界面,可以使用HTML和CSS自定义应用程序的外观和交互。
因为以上优点,采用Electron技术作为QQ的全新技术架构,可以使得QQ在跨平台支持、开发效率、界面设计、应用程序更新和社区支持等方面都得到了很大的提升。
除此之外,最近几年由于众所周知的原因,国家很多重点单位、企业、高校都对国产化平台的呼声越来越强,有了Electron的技术加持,未来,QQ对国产化平台,对信创的支持都将不再是问题。
不过话说回来,技术方案没有银弹。比起原生的Native QQ可以直接面向操作系统编程,可以做很多极致的优化,大家可能担心Electron相对而言在性能这一块是不是不如之前的技术方案呢?
这个问题对于一般的小公司可能是一个问题,但这可是腾讯啊,腾讯就是靠QQ起家的,对于这个问题不可能不知道,不可能不重视,不可能不解决。
这是QQ团队一位大佬的原话,我摘录在这里:
充分细致地针对每种场景进行分析,再结合定制深度优化Electron和与Native通信层面的优化,内存可以被很好控制,剩下的不过是再把一些内存泄漏的场景找出来而已
不愧是鹅厂,使用新技术架构把功能实现只是基本要求,在此之上,人家还做了很多深度定制化的优化,把Electron的体验做到和Native应用一样流畅丝滑。
就我实际体验来看,我使用了大文件传输、语音视频、远程桌面等非常考验性能的功能,NTQQ都完成的非常出色,让你完全察觉不了这是用Electron技术开发的应用。
在这个过程中,内存占用也不算高,表现比较稳定:
在国产Linux、Mac平台不断崛起的今天,软件跨平台技术方案一定会成为各大软件厂商不得不面对的问题,前有Java虚拟机统一后端服务跨平台问题,现有Electron统一客户端跨平台问题,国民软件QQ迈出了历史性的一步!
- EOF -
关注「程序员的那些事」加星标,不错过圈内事
点赞和在看就是最大的支持❤️